package com.jason.system.service;

import com.jason.system.common.util.Pager;
import com.jason.system.entity.Fine;
import com.jason.system.entity.Reward;

import java.util.Date;
import java.util.List;

/**
 * @author jie
 * @version 1.0
 * success come from self-discipline
 * @date 2021/4/24 16:39
 */
public interface FineService {

  /**
   * 获取所有奖惩信息
   * @param page 页数
   * @param size 每页个数
   * @return Fine
   */
  Pager<Fine> getAllFine(Integer page,Integer size);

  /**
   * 根据时间段获取奖惩信息
   * @param page 页数
   * @param size 每页个数
   * @param startTime 开始时间
   * @param sIds 学生id
   * @param endTime 截止时间
   * @return Fine
   */
  Pager<Fine> getAllFineByTime(Integer page, Integer size, Integer sIds, Date startTime,Date endTime);

  /**
   * 添加奖惩信息
   * @param fine 奖惩信息
   */
  void insertFine(Fine fine);

  /**
   * 更新奖惩信息
   * @param fine 奖惩信息
   */
  void updateFine(Fine fine);

  /**
   * 删除奖惩信息
   * @param fId 奖惩id
   * @return true or false
   */
  boolean deleteFine(Integer fId);

  /**
   * 批量删除奖惩信息
   * @param fIds 奖惩ids,以String形式存在，以逗号分割
   * @return true or false
   */
  boolean deleteFines(String fIds);

  /**
   * 获取学生的奖惩信息，奖励+惩罚
   * @return List<Reward>
   */
  List<Reward> getAllStuReward();

}
